/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.jSky.matcher.builder;

import org.hamcrest.Matcher;
import org.hamcrest.Matchers;
import ru.jSky.matcher.EqualsMatcher;
import ru.jSky.producer.builder.CompositeProducerBuilder;

/**
 *
 * @author Rakev
 */
public abstract class ObjectMatcherBuilder<F,C> extends AdapterMatcherBuilder<F,C> {

    public ObjectMatcherBuilder(CompositeProducerBuilder<F, C> producerBuilder) {
        super(producerBuilder);
    }

    public Matcher<F> eq(C expected){
        Matcher<C> eq = new EqualsMatcher<>(expected);
        return build(eq);
    }

    public Matcher<F> notEq(C notExpected){
        Matcher<C> eq = new EqualsMatcher<>(notExpected);
        Matcher<C> notEq = Matchers.not(eq);
        return build(notEq);
    }
    
}
